/*
 * @lc app=leetcode.cn id=387 lang=javascript
 *
 * [387] 字符串中的第一个唯一字符
 */

// @lc code=start
/**
 * @param {string} s
 * @return {number}
 */
    var firstUniqChar = function(s) {
        for (let i = 0; i < s.length; i++) {
            if (s.indexOf(s[i]) === s.lastIndexOf(s[i])) {
                return i
            }
        }
        return -1
    };
// @lc code=end

var firstUniqChar = function(s) {
    let map=new Map()
    let len=s.length
    for(let i=0;i<len;i++){
        if(map.has(s[i])){
            s=s.replaceAll(s[i]," ")
        }else{
            map.set(s[i],true)
        }
    }
    return s.match(/[a-z]/)?s.match(/[a-z]/).index:-1
 };//正则加一次遍历超时
 var firstUniqChar = function(s) {
    let map=new Map()
    let str=s
    let len=s.length
    for(let i=0;i<len;i++){
        if(map.has(s[i])){
            s=s.replaceAll(s[i]," ")
        }else{
            map.set(s[i],true)
        }
    }
    return str.indexOf(s.trimLeft()[0])
    };//trimLeft 超时
    var firstUniqChar = function(s) {
        let map=new Map()
        let str=s
        let len=s.length
        for(let i=0;i<len;i++){
            if(map.has(s[i])){
                map.set(s[i],false)
            }else{
                map.set(s[i],i)
            }
        }
        console.log(map)
        for(let item of map.keys()) {
            if(map.get(item)!==false){
                return map.get(item)
            }
        }
        return -1
        };//HASH表记录。通过